define(["app","js/home/homeView","js/init","js/util/socketUtil","text!app/content/toolbar.html"], 
	function(app,homeView,base,socketUtil,toolbar) {
	
	var $$ = Dom7;
	//url定义
	var url = {
		//qryUrl	: base.ws ,
		typeUrl		: base.base +  '/honest/doctype/query/mobile.m',
		detailUrl	: base.base +  '/honest/document/query/mobile.m'
	};
	
	//分类定义
	var typeConfig = {
		typeList	: null,
		curType		: null,
		curCode		: 'notification'
	};

	//数据定义
	var renderConfig = {
		pages	: 0,
		rows	: 10,

		//数据加载类型，分为load与reload
		type	: 'load',

		//当前分类id
		currentTypeid: null
	};

	//模块定义
	var module = 'home';

	var bindings = [
		//类型链接
		{
			element: '.home-page .type-link',
			event: 'click',
			handler: clickType
		}

		,
		//退出链接
		{
			element: '.link-quit',
			event: 'click',
			handler: clickQuit
		}
		
		//,
		//导航链接
		//{
		//	element: '.home-page .toolbar-link',
		//	event: 'click',
		//	handler: clickRoute
		//}
		
		

	];	

	//内容事件响应函数
	var bindingContent = [];
	
	//类型点击事件
	function clickType(e){
		reloadContent(e);				
	};

	function clickQuit(e){
		if(!app.mainView){
			app = app.getApp();
		}

		app.f7.confirm(
			'确认退出',
			'您确定要退出系统吗?',
			app.exit			
		)
	};

	
	
	function init(query){
		//var patients = JSON.parse(localStorage.getItem("f7patients"));
		
		
		if(!app.mainView){
			app = app.getApp();
		}
		
		if(app && app.getUser){
			
			//判断toolbar是否加载
			
			user = app.getUser();
			if(user!=null){
				
				
				
				//显示用户
				homeView.renderUser({user:user});
				
				//判断分类数据是否有效
				loadType();

				loadContent();
				
			}
		}
		
	};
	
	//底部导航点击事件
	//function clickRoute(e){
	//	if(!app.mainView){
	//		app = app.getApp();
	//	}
		
	//	var page = $(e.currentTarget).attr('pid')
	//	app.mainView.router.loadPage('app/'+page+'.html');
	//};

	
	/**
	 *	获取后台数据
	 * @Param _options.method	后台方法
	 * @Param _options.condition	查询条件
	 * @param _options.pages	页号
	 * @param _options.rows		行数
	 * @param _options.sort		排序字段
	 */
	function getData(_options){

		var ret;
		//调用参数		
		var _p = {	
			url			: url.typeUrl,
			module		: module,
			pages		: renderConfig.pages,
			rows		: renderConfig.rows,
			method		: 'getTypeList',
			condition	: null,
			sort		:  null
		}

		var p = $.extend({},_p,_options);
		//执行调用
		$.ajax({
			url		: p.url ,
			data	: JSON.stringify(p),
			contentType : 'appliction/json;charset=utf-8',
			dataType: 'json',
			type	: 'post',
			async	: false ,
			success	:function(data){
				ret = data;
			}
			,
			error: function(){
				toast.show({msg:'加载数据失败，请退出程序后重新尝试！'})
			}
		})
		
		return ret;
		//socketUtil.send(JSON.stringify(p));
		
	};

	
	
	//加载数据
	function load(_data){
		if(renderConfig.type === 'load'){
			homeView.render({
				model: _data,
				bindings: bindings
			});
		}else{
			homeView.reRender({
			model: _data,
			bindings: bindings
		});	
		}
	};
	
	//加载类型数据
	function loadType(data){

		if(!data){
			//初始化
			var param = {
				url		: url.typeUrl,
				method	: 'getTypeList'
			}
			
			var ad = getData(param)
			if(ad && ad.rows && ad.rows.length>0){
				var d = (ad.rows)[0]
				typeConfig.curType = d.id;

				typeConfig.curCode = d.bizcode;

				typeConfig.curTypeName = d.name;

				//初始化类型选择
				initTypeAction(ad.rows);
			}
		}else{
			//选择类型
			
			typeConfig.curType = data.id;

			typeConfig.curCode = data.code;

			typeConfig.curTypeName = data.typeName;
			

		}
		
		var _el = $('#home-page .type-actions-popover')
		_el.html(typeConfig.curTypeName)
		
	};

	//初始化type点击事件
	function initTypeAction(data){
		
		
		if(data){

			if(!app.mainView){
				app = app.getApp();
			};

			var actions = [{
				text: '栏目选择',
                label: true
			}]
			$.each(data,function(i,o){
				actions.push({
					text	: o.name,
					onClick	: function () {
						if(!app.mainView){
							app = app.getApp();
						};

						clickActions({
							id		: o.id,
							code	: o.bizcode,
							typeName: o.name
						})
					}
				})
			})
			
			$$('#home-page .type-actions-popover').on('click', function (e) {
				// We need to pass additional target parameter (this) for popover
				app.f7.actions(this, actions);
			});
			
		}

	}
	
	//点击分栏事件
	function clickActions(data){
		loadType(data);
		loadContent();
	}
	
	//加载内容数据
	function loadContent(data){
		
		if(!app.mainView){
			app = app.getApp();
		};
		var typeid = typeConfig.curType;
		var typeCode = typeConfig.curCode;
		
		if(data){
			if(data.typeid)
				typeid = data.typeid
			if(data.typeCode)
				typeCode = data.typeCode

		}

		var param = {
			url		: url.detailUrl,
			method	: 'getDetailList',
			typeid	: typeid
		}
		
		var data = getData(param);
		homeView.renderContent({
			f7		: app.f7,
			typeCode: typeCode,
			model	: data.rows,
			bindings: bindingContent
		})
		
		//app.f7.showTab('#'+typeCode);
		
	};
	//重新内容加载数据
	function reloadContent(e){
		renderConfig.type = 'reload'
		var _el = $(e.currentTarget)
		var id = _el.attr('pid')
		var code = _el.attr('pcode')
		loadContent({
			typeid:id,
			typeCode:code
		});
	};


	

	return {
		init		 : init,
		load		 : load
	};
});